A New Vectorization Technique for Expression Templates in C++

نویسندگان

  • J. Progsch
  • Yves Ineichen
  • Andreas Adelmann
چکیده

Vector operations play an important role in high performance computing and are typically provided by highly optimized libraries that implement the Basic Linear Algebra Subprograms (BLAS) interface. In C++ templates and operator overloading allow the implementation of these vector operations as expression templates which construct custom loops at compile time and providing a more abstract interface. Unfortunately existing expression template libraries lack the performance of fast BLAS implementations. This paper presents a new approach Statically Accelerated Loop Templates (SALT) to close this performance gap by combining expression templates with an aggressive loop unrolling technique. Benchmarks were conducted using the Intel C++ compiler and GNU Compiler Collection to assess the performance of our library relative to Intel's Math Kernel Library as well as the Eigen template library. The results show that the approach is able to provide optimization comparable to the fastest available BLAS implementations, while retaining the convenience and flexibility of a template library.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Parallelizing Imperative Functional Programs: the Vectorization Monad

Traditionally a vectorizing compiler matches the iterative constructs of a program against a set of predefined templates. If a loop contains no dependency cycles then a map template can be used; other simple dependencies can often be expressed in terms of fold or scan templates. This paper addresses the template matching problem within the context of functional programming. A small collection o...

متن کامل

P-84: Evidence for Differential Expression of The Pluripotency Factors c-MYC, KLF4 and LIN28 in Normal Endometrium and in Endometriosis

Background Endometriosis is a common gynecological disease characterized by the presence of endometrial tissue outside the uterine cavity. This disease affects approximately 10% of women in reproductive age and is associated with pelvic pain, dysmenorrhea and infertility. The theory of involvement of stem cells is a considered new hypothesis in etiology of endometriosis.The aim of this study wa...

متن کامل

Expression Templates

Expression Templates is a C++ technique for passing expressions as function arguments. The expression can be inlined into the function body, which results in faster and more convenient code than C-style callback functions. This technique can also be used to evaluate vector and matrix expressions in a single pass without temporaries. In preliminary benchmark results, one compiler evaluates vecto...

متن کامل

Vectorization of astrophysical code for massively parallel supercomputers

We describe a new version of our AstroPhi code for the simulation of astrophysical objects dynamics and other physical processes on hybrid supercomputers equipped with Intel Xeon Phi accelerators. The new version of the AstroPhi code was rewritten in accordance with co-design technique. Thus, we used the latest knowledge about the last Intel Xeon Phi generation during code development. The most...

متن کامل

Automatic Vectorization of Communicationsfor

Optimizing communication is a key issue in compiling data-parallel languages for distributed memory architectures. We examine here the case of cyclic distribution, and we derive symbolic expressions for communication sets under the only assumption that the initial parallel loop is deened by aane expressions of the indices. This technique relys on unimodular changes of basis. Analysis of the pro...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1109.1264  شماره 

صفحات  -

تاریخ انتشار 2011